1 % ALGORITHM STYLE -- Released 8 April 1996
3 % Copyright -- 1994 Peter Williams
5 % E-mail pwil3058@bigpond.net.au
7 % This style file is free software; you can redistribute it and/or
8 % modify it under the terms of the GNU Lesser General Public
9 % License as published by the Free Software Foundation; either
10 % version 2 of the License, or (at your option) any later version.
12 % This style file is distributed in the hope that it will be useful,
13 % but WITHOUT ANY WARRANTY; without even the implied warranty of
14 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 % Lesser General Public License for more details.
17 % You should have received a copy of the GNU Lesser General Public
18 % License along with this style file; if not, write to the
19 % Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 % Boston, MA 02111-1307, USA.
22 \NeedsTeXFormat{LaTeX2e
}
23 \ProvidesPackage{algorithm
}
24 \typeout{Document Style `algorithm' - floating environment
}
26 \RequirePackage{float
}
27 \RequirePackage{ifthen
}
28 \newcommand{\ALG@within
}{nothing
}
29 \newboolean{ALG@within
}
30 \setboolean{ALG@within
}{false
}
31 \newcommand{\ALG@floatstyle
}{ruled
}
32 \newcommand{\ALG@name
}{Algorithm
}
33 \newcommand{\listalgorithmname}{List of
\ALG@name s
}
37 \DeclareOption{plain
}{
38 \renewcommand{\ALG@floatstyle
}{plain
}
40 \DeclareOption{ruled
}{
41 \renewcommand{\ALG@floatstyle
}{ruled
}
43 \DeclareOption{boxed
}{
44 \renewcommand{\ALG@floatstyle
}{boxed
}
46 % then numbering convention
48 \renewcommand{\ALG@within
}{part
}
49 \setboolean{ALG@within
}{true
}
51 \DeclareOption{chapter
}{
52 \renewcommand{\ALG@within
}{chapter
}
53 \setboolean{ALG@within
}{true
}
55 \DeclareOption{section
}{
56 \renewcommand{\ALG@within
}{section
}
57 \setboolean{ALG@within
}{true
}
59 \DeclareOption{subsection
}{
60 \renewcommand{\ALG@within
}{subsection
}
61 \setboolean{ALG@within
}{true
}
63 \DeclareOption{subsubsection
}{
64 \renewcommand{\ALG@within
}{subsubsection
}
65 \setboolean{ALG@within
}{true
}
67 \DeclareOption{nothing
}{
68 \renewcommand{\ALG@within
}{nothing
}
69 \setboolean{ALG@within
}{true
}
71 \DeclareOption*
{\edef\ALG@name
{\CurrentOption}}
76 \floatstyle{\ALG@floatstyle
}
77 \ifthenelse{\boolean{ALG@within
}}{
78 \ifthenelse{\equal{\ALG@within
}{part
}}
79 {\newfloat{algorithm
}{htbp
}{loa
}[part
]}{}
80 \ifthenelse{\equal{\ALG@within
}{chapter
}}
81 {\newfloat{algorithm
}{htbp
}{loa
}[chapter
]}{}
82 \ifthenelse{\equal{\ALG@within
}{section
}}
83 {\newfloat{algorithm
}{htbp
}{loa
}[section
]}{}
84 \ifthenelse{\equal{\ALG@within
}{subsection
}}
85 {\newfloat{algorithm
}{htbp
}{loa
}[subsection
]}{}
86 \ifthenelse{\equal{\ALG@within
}{subsubsection
}}
87 {\newfloat{algorithm
}{htbp
}{loa
}[subsubsection
]}{}
88 \ifthenelse{\equal{\ALG@within
}{nothing
}}
89 {\newfloat{algorithm
}{htbp
}{loa
}}{}
91 \newfloat{algorithm
}{htbp
}{loa
}
93 \floatname{algorithm
}{\ALG@name
}
95 \newcommand{\listofalgorithms}{\listof{algorithm
}{\listalgorithmname}}